Efficient sparse polynomial factoring using the Funnel heap

نویسندگان

  • Fatima K. Abu Salem
  • Khalil El-Harake
  • Karl Gemayel
چکیده

This work is a comprehensive extension of Abu-Salem et al. (2015) that investigates the prowess of the Funnel Heap for implementing sums of products in the polytope method for factoring polynomials, when the polynomials are in sparse distributed representation. We exploit that the work and cache complexity of an Insert operation using Funnel Heap can be refined to depend on the rank of the inserted monomial product, where rank corresponds to its lifetime in Funnel Heap. By optimising on the pattern by which insertions and extractions occur during the Hensel lifting phase of the polytope method, we are able to obtain an adaptive Funnel Heap that minimises all of the work, cache, and space complexity of this phase. This, in turn, maximises the chances of having all polynomial arithmetic performed in the innermost levels of the memory hierarchy, and observes nearly optimal spatial locality. We provide proofs of results introduced in Abu-Salem et al. (2015) pertaining to properties of Funnel Heap, several of which are of independent worth extending beyond Hensel lifting. Additionally, we conduct a detailed empirical study confirming the superiority of Funnel Heap over the generic Binary Heap once swaps to external memory begin to take place. We support the theoretical analysis of the cache and space complexity in Abu-Salem et al. (2015) using accounts of cache misses and memory consumption, and compare the run-time results appearing there against adaptive Funnel Heap. We ∗Corresponding Author Email addresses: [email protected] (Fatima K. Abu Salem), [email protected] (Khalil El-Harake), [email protected] (Karl Gemayel) Preprint submitted to Journal of Symbolic Computation December 19, 2016 further demonstrate that Funnel Heap is a more efficient merger than the cache oblivious k-merger, which fails to achieve its optimal (and amortised) cache complexity when used for performing sums of products. This provides an empirical proof of concept that the overlapping approach for performing sums of products using one global Funnel Heap is more suited than the serialised approach, even when the latter uses the best merging structures available. Our main conclusion is that Funnel Heap will outperform Binary Heap for performing sums of products, whether data fits in in-core memory or not.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Deterministically Factoring Sparse Polynomials into Multilinear Factors

We present the first efficient deterministic algorithm for factoring sparse polynomials that split into multilinear factors. Our result makes partial progress towards the resolution of the classical question posed by von zur Gathen and Kaltofen in [GK85] to devise an efficient deterministic algorithm for factoring (general) sparse polynomials. We achieve our goal by introducing essential factor...

متن کامل

Sparse polynomial division using a heap

In 1974, Johnson showed how to multiply and divide sparse polynomials using a binary heap. This paper introduces a new algorithm that uses a heap to divide with the same complexity as multiplication. It is a fraction-free method that also reduces the number of integer operations for divisions of polynomials with integer coefficients over the rationals. Heap-based algorithms use very little memo...

متن کامل

Deterministically Factoring Sparse Polynomials into Multilinear Factors and Sums of Univariate Polynomials

We present the first efficient deterministic algorithm for factoring sparse polynomials that split into multilinear factors and sums of univariate polynomials. Our result makes partial progress towards the resolution of the classical question posed by von zur Gathen and Kaltofen in [6] to devise an efficient deterministic algorithm for factoring (general) sparse polynomials. We achieve our goal...

متن کامل

Polynomial multiplication and division using heap

We report on new code for sparse multivariate polynomial multiplication and division that we have recently integrated into Maple as part of our MITACS project at Simon Fraser University. Our goal was to try to beat Magma which is widely viewed in the computer algebra community as having state-of-the-art polynomial algebra. Here we give benchmarks comparing our implementation for multiplication ...

متن کامل

Sparse Polynomial Pseudo Division Using a Heap

We present a new algorithm for pseudo-division of sparse multivariate polynomials with integer coefficients. It uses a heap of pointers to simultaneously merge the dividend and partial products, sorting the terms efficiently and delaying all coefficient arithmetic to produce good complexity. The algorithm uses very little memory and we expect it to run in the processor cache. We give benchmarks...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1612.05403  شماره 

صفحات  -

تاریخ انتشار 2016